<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>File Helper : CodeIgniter User Guide</title>

<style type='text/css' media='all'>@import url('../userguide.css');</style>
<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

<script type="text/javascript" src="../nav/nav.js"></script>
<script type="text/javascript" src="../nav/prototype.lite.js"></script>
<script type="text/javascript" src="../nav/moo.fx.js"></script>
<script type="text/javascript" src="../nav/user_guide_menu.js"></script>

<meta http-equiv='expires' content='-1' />
<meta http-equiv= 'pragma' content='no-cache' />
<meta name='robots' content='all' />
<meta name='author' content='ExpressionEngine Dev Team' />
<meta name='description' content='CodeIgniter User Guide' />
</head>
<body>

<!-- START NAVIGATION -->
<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle_darker.jpg" width="154" height="43" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
</div>
<!-- END NAVIGATION -->


<!-- START BREADCRUMB -->
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td id="breadcrumb">
<a href="http://codeigniter.com/">CodeIgniter Home</a> &nbsp;&#8250;&nbsp;
<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;
File Helper
</td>
<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>
</tr>
</table>
<!-- END BREADCRUMB -->

<br clear="all" />


<!-- START CONTENT -->
<div id="content">


<h1>파일 File Helper</h1>

<p>파일헬퍼는 파일을 조작하는데 도움이되는 함수들을 제공합니다.</p>


<h2>헬퍼로딩Loading this Helper</h2>

<p>다음과같이 헬퍼를 로드합니다:</p>
<code>$this->load->helper('file');</code>

<p>다음 함수들이 사용가능 합니다:</p>

<h2>read_file('<var>path</var>')</h2>

<p>지정된 파일의 데이터를 리턴합니다 .  예:</p>

<code>$string = read_file('./path/to/file.php');</code>

<p>경로는 상대경로나 절대경로 모두 됩니다.  실패시FALSE 를 리턴합니다. </p>

<p class="important"><strong>참고:</strong> 경로는 메인 index.php 파일로부터의 상대경로이며, 컨트롤러나 뷰 파일로부터의 상대경로는 아닙니다.
CodeIgniter 는 프론트 컨트롤러를 사용하므로, 경로는 항상 메인 사이트 인덱스로부터의 상대경로입니다.</p>

<p>서버가 open_basedir 제한을 사용하고 있다면 이 함수는 작동하지 않을것입니다.</p>

<h2>write_file('<var>path</var>', <kbd>$data</kbd>)</h2>

<p>파일을 지정된 경로에 씁니다.  파일이 존재하지않을경우 파일을 생성합니다. 예:</p>

<code>
$data = 'Some file data';<br />
<br />
if ( ! write_file('./path/to/file.php', $data))<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp; echo 'Unable to write the file';<br />
}<br />
else<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp; echo 'File written!';<br />
}</code>

<p>세번째 파라미터로 쓰기모드를 지정할 수 있습니다:</p>

<code>write_file('./path/to/file.php', $data, <var>'r+'</var>);</code>

<p>기본값은 <kbd>wb</kbd>입니다.  <a href="http://php.net/fopen">PHP 사용자가이드</a> 를 보시면 모드에대해 보다 많은 정보를 얻으실 수 있습니다.</p>

<p>참고: 이 함수를 이용해서 파일을 쓰려면 파일권한이 반드시 쓰기 가능한 상태로 설정되어야 합니다(666, 777, 등.). 만약 파일이 존재하지않는다면, 파일이 생성될 디렉토리의 권한이 쓰기 가능한 상태라야 합니다.</p>

<p class="important"><strong>참고:</strong> 경로는 메인 index.php 파일로부터의 상대경로이며, 컨트롤러나 뷰 파일로부터의 상대경로는 아닙니다.
CodeIgniter 는 프론트 컨트롤러를 사용하므로, 경로는 항상 메인 사이트 인덱스로부터의 상대경로입니다.</p>

<h2>delete_files('<var>path</var>')</h2>

<p>지정한 경로내의 모든 파일을 지웁니다. 예:</p>
<code>delete_files('./path/to/directory/');</code>

<p>두번째 파라미터가<kbd>true</kbd>로 설정되어 있으면, 포함하고 있는 모든 디렉토리 까지 삭제합니다. 예:</p>

<code>delete_files('./path/to/directory/', TRUE);</code>

<p class="important"><strong>참고:</strong> 파일들이 쓰기 가능한 상태거나, 그 소유자가 시스템(system)이라야 삭제가 가능합니다.</p>

<h2>get_filenames('<var>path/to/directory/</var>')</h2>

<p>경로를 입력받아 그안에 있는 파일목록을 배열로 리턴합니다. 두번째 파라미터를 TRUE 로 설정하면 파일경로도 같이 붙습니다.</p>

<h2>get_dir_file_info('<var>path/to/directory/</var>', <kbd>$top_level_only</kbd> = TRUE)</h2>

  <p>지정된 디렉토리를 읽은후 파일명,크기,날짜,권한등을 담은 배열을 리턴합니다. 두번째 파라미터를 통해서 하위디렉토리들도 같이 읽을지 
    여부를 결정합니다. 두번째 파라미터인 <kbd>$top_level_only</kbd> 를 <samp>FALSE</samp>로 설정한 
    경우에만 하위디렉토리들을 읽습니다.</p>


<h2>get_file_info('<var>path/to/file</var>', <kbd>$file_information</kbd>)</h2>

<p>파일경로가 주어지면, 파일명,경로,크기,수정된 날짜를 리턴합니다. 두번째 파라미터로 리턴받기를 원하는 정보가 무엇인지 설정할수 있습니다; 옵션은: name, server_path, size, date, readable, writable, executable, fileperms 입니다.파일이 없으면 FALSE 를 리턴합니다.</p>

<p class="important"><strong>참고:</strong> &quot;writable&quot; 은 PHP 내장함수인is_writable() 를 사용합니다. 이함수는 IIS 웹서버환경에서는 알려진 이슈가 있습니다. PHP 내장함수 중 fileperms() 를 사용하는 fileperms을 대신 사용하는것을 권장합니다.</p>
<h2>get_mime_by_extension('<var>file</var>')</h2>

<p>파일 확장자를 config/mimes.php 에 기록된 마임타입(mime type )으로 변환합니다. 타입을 결정할수 없을경우 마임설정 파일을 열거나 FALSE 를 반환합니다.</p>
<p>
<code>$file = &quot;somefile.png&quot;;<br />
echo $file . ' is has a mime type of ' . get_mime_by_extension($file);</code>
</p>
<p class="critical"><strong>참고:</strong> 이 방법은 정확하게 마임타입을 식별하는 방법은 아닙니다.단지 편의를 위한것입니다. 보안이나 정확성이필요한 상황에서는 사용하지 않는것이 좋습니다.</p>

<h2>symbolic_permissions(<kbd>$perms</kbd>)</h2>

<p>숫자로 권한을 입력받아서 표준 권한 표기법에 맞는 권한을 리턴합니다. <kbd>fileperms()</kbd> 함수가 리턴하는숫자를 사용하시면 됩니다.</p>

<code>echo symbolic_permissions(fileperms('./index.php'));<br />
<br />
// -rw-r--r--</code>

<h2>octal_permissions(<kbd>$perms</kbd>)</h2>

<p>숫자로 권한을 입력받아 3글자로 된 8진수 권한 표기법을 리턴합니다.<kbd>fileperms()</kbd> 함수가 리턴하는숫자를 사용하시면 됩니다.</p>

<code>echo octal_permissions(fileperms('./index.php'));<br />
<br />
// 644</code>

</div>

<!-- END CONTENT -->


<div id="footer">
<p>
Previous Topic:&nbsp;&nbsp;<a href="email_helper.html">Email Helper</a>
&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
Next Topic:&nbsp;&nbsp;<a href="form_helper.html">Form Helper</a></p>
<p><a href="http://codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 - 2011 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">Ellislab, Inc.</a></p>
</div>

</body>
</html>